package com.myh.cc.network.request

import com.myh.cc.base.CityInfo
import com.myh.cc.coom.main.bean.PlayKey
import com.myh.cc.coom.ranking.bean.RankingBean
import com.myh.cc.coom.ranking.bean.RankingDetailsBean
import com.myh.cc.coom.recommend.bean.BannerBean
import com.myh.cc.coom.recommend.bean.RecommendBean
import com.myh.cc.coom.recommend.bean.RecommendDetaislBean
import com.myh.cc.coom.search.bean.HotBean
import com.myh.cc.coom.search.bean.SearchBean
import com.myh.cc.coom.singer.bean.SingerBean
import com.myh.cc.coom.singer.bean.SingerDetailsBean
import io.reactivex.Observable

/**
 * 类描述    ：
 * 创建人    ：  mayahao.
 * 创建时间   ：  2018/1/2.
 * 修改人    ：
 * 修改时间   ：
 * 修改备注   ：
 */
interface IHttpRequest {


    /**
     * 获取天气预报
     */
    fun getWeather(header: String,map: Map<String, String>): Observable<CityInfo>

    /**
     * 获取 专辑 数据
     */
    fun getRecommend(header: String,map: Map<String, String>): Observable<RecommendBean>

    /**
     * 获取 专辑 数据
     */
    fun getRecommendDetails(header: String,map: Map<String, String>): Observable<RecommendDetaislBean>


    /**
     * 获取 首页 数据
     */
    fun getBanner(header: String,map: Map<String, String>): Observable<BannerBean>

    /**
     * 获取排行榜数据
     */
    fun getRanking(header: String,map: Map<String, String>): Observable<RankingBean>

    /**
     * 获取排行榜详情数据
     */
    fun getRankingDetails(header: String,map: Map<String, String>): Observable<RankingDetailsBean>

    /**
     * 获取 歌手数据
     */
    fun getSinger(header: String,map: Map<String, String>): Observable<SingerBean>

    /**
     * 获取 歌手 详情
     */
    fun getSingerDetails(header: String,map: Map<String, String>): Observable<SingerDetailsBean>

    /**
     * 获取热搜
     */
    fun getHotSearch(header: String,map: Map<String, String>): Observable<HotBean>

    /**
     * 获取 搜索结果
     */
    fun getSearch(header: String,map: Map<String, String>): Observable<SearchBean>

    /**
     * 获取 搜索结果
     */
    fun getPlayKey(header: String,map: Map<String, String>): Observable<PlayKey>
}